<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<jsp:include page="../inc.jsp"></jsp:include>
<script type="text/javascript" charset="utf-8">
	var datagrid;
	var auth = "${auths}";
	var buttons = [];
	$(function() {
		$('form input').bind('keyup', function(event) {/* 增加回车提交功能 */
			if (event.keyCode == '13') {
				datagrid.datagrid('load', sy.serializeObject($('#searchForm')));
			}
		});
		if(auth=="all"){
			buttons.push({text : '增加',iconCls : 'icon-add',handler : function() {append();}});
			buttons.push('-');
			buttons.push({text : '删除',iconCls : 'icon-remove',handler : function() {remove();}});
			buttons.push('-');
			buttons.push({text : '编辑',iconCls : 'icon-edit',handler : function() {edit();}});
			buttons.push('-');
			buttons.push({text : '取消选中',iconCls : 'icon-undo',handler : function() {datagrid.datagrid('clearSelections');datagrid.datagrid('unselectAll');}});
			buttons.push('-');
		}else if(auth!=""){
			var auths = auth.split(",");
			if(auths.length>0){
				for(var i=0;i<auths.length;i++){
					if(auths[i]=="QXGL_JSGL_ADD"){
						buttons.push({text : '增加',iconCls : 'icon-add',handler : function() {append();}});
						buttons.push('-');
					}else if(auths[i]=="QXGL_JSGL_DELETE"){
						buttons.push({text : '删除',iconCls : 'icon-remove',handler : function() {remove();}});
						buttons.push('-');
					}else if(auths[i]=="QXGL_JSGL_EDIT"){
						buttons.push({text : '编辑',iconCls : 'icon-edit',handler : function() {edit();}});
						buttons.push('-');
					}
				}
				buttons.push({text : '取消选中',iconCls : 'icon-undo',handler : function() {datagrid.datagrid('clearSelections');datagrid.datagrid('unselectAll');}});
				buttons.push('-');
			}
		}


		datagrid = $('#datagrid').datagrid({
			url : 'roleAction!datagrid.html',
			title : '角色列表',
			iconCls : 'icon-save',
			pagination : true,
			pagePosition : 'bottom',
			pageSize : 10,
			pageList : [ 10, 20, 30, 40 ],
			fit : true,
			fitColumns : false,
			nowrap : false,
			border : false,
			idField : 'id',
			sortName : 'name',
			sortOrder : 'desc',
			checkOnSelect : false,
			selectOnCheck : false,
			singleSelect : true,
			frozenColumns : [ [ {
				title : '编号',
				field : 'id',
				width : 150,
				sortable : true,
				checkbox : true
			},{
				title : '类型',
				field : 'type',
				width : 150,
				hidden : true
			}, {
				title : '角色名称',
				field : 'name',
				width : 150,
				sortable : true
			} ] ],
			columns : [ [ {
				title : '备注',
				field : 'remark',
				width : 150
			}, {
				title : '拥有权限ID',
				field : 'resourceIds',
				width : 300,
				hidden : true
			}, {
				title : '拥有权限',
				field : 'resourceNames',
				width : 600
			} ] ],
			toolbar : buttons,
			onRowContextMenu : function(e, rowIndex, rowData) {
				e.preventDefault();
				$(this).datagrid('unselectAll');
				$(this).datagrid('selectRow', rowIndex);
				$('#menu').menu('show', {
					left : e.pageX,
					top : e.pageY
				});
			}
		});
		
		////var rid0 = $('#searchForm').find('input[name=rid]');
		//var rid0Combobox = rid0.combobox({
		//	url : '${pageContext.request.contextPath}/qxgl/roleAction!noAuth_combobox.html',
		//	valueField : 'id',
		//	textField : 'name',
		//	multiple : false,
		//	editable : false,
		//	panelHeight : 'auto',
		//	onLoadSuccess : function() {
		//		parent.$.messager.progress('close');
		//	}
		//});

	});

	function edit() {
		var rows = datagrid.datagrid('getSelections');
		if (rows.length == 1) {
			var p = parent.sy.dialog({
				title : '编辑角色',
				href : '${pageContext.request.contextPath}/qxgl/roleAction!roleEdit.html',
				width : 450,
				height : 205,
				buttons : [ {
					id : 'btn',
					text : '编辑', 
					handler : function() { 
						var f = p.find('form');
						var btn = p.find('#btn');
						btn.linkbutton('disable');
						f.form('submit', {
							url : '${pageContext.request.contextPath}/qxgl/roleAction!edit.html',
							success : function(d) {
								var json = $.parseJSON(d);
								if (json.success) {
									datagrid.datagrid('reload');
									p.dialog('close');
								}
								parent.sy.messagerShow({
									msg : json.msg,
									title : '提示'
								});
							}
						});
					}
				} ],
				onLoad : function() {
					var f = p.find('form');					
					var resourceIds = f.find('input[name=resourceIds]');
					var authIdsTree = resourceIds.combotree({
						lines : true,
						url : '${pageContext.request.contextPath}/qxgl/resourceAction!noAuth_treeResource.html',
						checkbox : true,
						multiple : true,
						cascadeCheck:false,
						onLoadSuccess : function() {
							parent.$.messager.progress('close');
						}
					});
					f.form('load', {
						id : rows[0].id,
						type : rows[0].type,
						name : rows[0].name,
						remark : rows[0].remark,
						resourceIds : sy.getList(rows[0].resourceIds)
					});
				}
			});
		} else if (rows.length > 1) {
			parent.sy.messagerAlert('提示', '同一时间只能编辑一条记录！', 'error');
		} else {
			parent.sy.messagerAlert('提示', '请选择要编辑的记录！', 'error');
		}
	}
	function append() {
		var p = parent.sy.dialog({
			title : '添加角色',
			href : '${pageContext.request.contextPath}/qxgl/roleAction!roleAdd.html',
			width : 450,
			height : 205,
			buttons : [ {
				text : '添加',
				handler : function() {
					var f = p.find('form');
					f.form('submit', {
						url : '${pageContext.request.contextPath}/qxgl/roleAction!add.html',
						success : function(d) {
							var json = $.parseJSON(d);
							if (json.success) {
								datagrid.datagrid('reload');
								p.dialog('close');
							}
							parent.sy.messagerShow({
								msg : json.msg,
								title : '提示'
							});
						}
					});
				}
			} ],
			onLoad : function() {
				var f = p.find('form');
				var resourceIds = f.find('input[name=resourceIds]');
				var authIdsTree = resourceIds.combotree({
					lines : true,
					url : '${pageContext.request.contextPath}/qxgl/resourceAction!noAuth_treeResource.html',
					checkbox : true,
					multiple : true,
					cascadeCheck:false,
					onLoadSuccess : function() {
						parent.$.messager.progress('close');
					}
				});
			}
		});
	}
	function remove() {
		var rows = datagrid.datagrid('getChecked');
		var ids = [];
		if (rows.length > 0) {
			parent.sy.messagerConfirm('请确认', '您要删除当前所选项目？', function(r) {
				if (r) {
					for ( var i = 0; i < rows.length; i++) {
						ids.push(rows[i].id);
					}
					$.ajax({
						url : '${pageContext.request.contextPath}/qxgl/roleAction!delete.html',
						data : {
							ids : ids.join(',')
						},
						dataType : 'json',
						success : function(d) {
							datagrid.datagrid('load');
							datagrid.datagrid('unselectAll');
							parent.sy.messagerShow({
								title : '提示',
								msg : d.msg
							});
						}
					});
				}
			});
		} else {
			parent.sy.messagerAlert('提示', '请勾选要删除的记录！', 'error');
		}
	}
	function _search() {
		datagrid.datagrid('load', sy.serializeObject($('#searchForm')));
	}
	
	function cleanSearch() {
		datagrid.datagrid('load', {});
		$('#searchForm input').val('');
	}
</script>
</head>
<body class="easyui-layout" data-options="fit:true">
	<div data-options="region:'north',border:false,title:'搜索条件'" style="height: 55px;overflow: hidden;" align="left">
		<form id="searchForm">
			<table class="tableForm datagrid-toolbar" style="width: 100%;height: 100%;">
				<tr>
					<th style="width:80px;">角色名称</th>
					<td style="width:220px;"><input name="name" style="width:200px;" /></td>
					<th style="width:80px;display: none" >角色名称</th>
					<td style="width:220px;display: none"><input name="rid" style="width:200px;" /></td>
					<td><a href="javascript:void(0);" class="easyui-linkbutton" onclick="_search();">搜索</a><a href="javascript:void(0);" class="easyui-linkbutton" onclick="cleanSearch();">取消</a></td>
				</tr>
			</table>
		</form>
	</div>
	<div data-options="region:'center',border:false" style="overflow: hidden;">
		<table id="datagrid"></table>
	</div>

	<div id="menu" class="easyui-menu" style="width:120px;display: none;">
		<k:security key="QXGL_JSGL_ADD">
			<div onclick="append();" data-options="iconCls:'icon-add'">增加</div>
		</k:security>
		<k:security key="QXGL_JSGL_DELETE">
			<div onclick="remove();" data-options="iconCls:'icon-remove'">删除</div>
		</k:security>
		<k:security key="QXGL_JSGL_EDIT">
			<div onclick="edit();" data-options="iconCls:'icon-edit'">编辑</div>
		</k:security>
	</div>
</body>
</html>